package com.lily.aidouzixun.util;

import android.os.Environment;

import java.io.File;

/**
 * 文件管理
 */
public class FileManager {
    //缓存的根目录
    private static final String CacheRootEx = Environment.getExternalStorageDirectory() + "/lilyCache/";
    //缓存目录
    public static final String AVATAR_PATH = Environment.getExternalStorageDirectory() + "/avatar.png";
    public static final String DISCUSS_PHOTO_PATH = Environment.getExternalStorageDirectory() + "/discussphoto.png";
    //临时文件
    private static final String tmpImgEx = CacheRootEx + "lily_tmp.jpg";

    /**
     * 得到图片临时文件路径
     * @return
     */
    public static String getExTempImgPath() {
        return tmpImgEx;
    }
    private static final String TAG = "FileManager";

    //内部存储根目录
    private static final String rootIn = "/data/data/com.lily.aidouzixun/files/";
    //图片资源
    private static String ImageDirEx = CacheRootEx;
    //内部图片存储位置
    private static String ImageDirIn = rootIn + "images/";
    //缓存json的更目录，包括文字和图片的url
    private static String JsonCache = CacheRootEx + "json/";

    /**
     * 创建本地需要用到的目录
     */
    public static void mkDirs() {
        // TODO Auto-generated method stub
        new File(CacheRootEx).mkdir();
        new File(rootIn).mkdir();
        new File(ImageDirIn).mkdir();
    }

    /**
     * 得到sd卡图片缓存的根目录
     * @return
     */
    public static String getExImagePath(){
        mkdir(ImageDirEx);
        return ImageDirEx;
    }
    /**
     * 得到内部图片存放的根目录
     * @return
     */
    public static String getInnerImagePath() {
        mkdir(ImageDirIn);
        return ImageDirIn;
    }
    /**
     * 创建目录
     * @param DirEx
     */
    private static void mkdir(String DirEx) {
        // TODO Auto-generated method stub
        if(Validator.isEffective(DirEx)){
            new File(DirEx).mkdir();
        }
    }

    /**
     * 得到文件大小
     * @param filePath	文件路径
     * @return	文件大小
     */
    public static long getFileSize(String filePath) {
        long size =0;
        if(filePath == null){
            size = 0;
        }
        else{
            File file = new File(filePath);
            if(file.exists()){
                size =  file.length();
            }else{
                size = 0;
            }
        }
        L.v(TAG, "this "+filePath+" size is "+size);
        return size;
    }

    /**
     * 删除本地文件
     * @param filePath	文件名
     */
    public static boolean deleteFile(String filePath) {
        try {
            File file  = new File(filePath);
            return file.delete();
        } catch (Exception e) {
            return false;
        }
    }
    /**
     * 得到缓存json的根目录，其实就是缓存数据库目录
     * @return
     */
    public static String getExEternalImagePath() {
        mkdir(CacheRootEx);
        mkdir(JsonCache);
        return JsonCache;
    }

}
